package example1;

import java.math.BigDecimal;

/**
 * <h3>designPattern</h3>
 * <p>测试验证</p>
 * @author : zhang.bw
 * @date : 2020-06-04 17:47
 **/
public class Stra1Test {

	public static void main(String[] args) {

		// 策略上下文
		DiscountContext ctx = new DiscountContext();

		// 默认使用普通会员折扣策略
		BigDecimal pay1 = ctx.calculatePrice(BigDecimal.valueOf(105));
		System.out.println(pay1);

		// 使用满减折扣策略
		ctx.setStrategy(new OverDiscountStrategy()); //设置新策略
		BigDecimal pay2 = ctx.calculatePrice(BigDecimal.valueOf(105));
		System.out.println(pay2);

		// Prime会员策略
		ctx.setStrategy(new PrimeDiscountStrategy()); //设置新策略
		BigDecimal pay3 = ctx.calculatePrice(BigDecimal.valueOf(105));
		System.out.println(pay3);
	}

}
